A Study on Detecting Refactoring Opportunities to Introduce the Abstract Factory Design Pattern in Object-Oriented Code
نویسنده
چکیده
In the world of software systems, the process of evolving is an essential one. If this process represents no challenge on small systems, it becomes unbearable if the size of the system exceeds a certain limit. Therefore, the need arises for software tools that can carry out the necessary transformations automatically. This paper addresses the possibility to detect spots within an object-oriented system where an Abstract Factory design pattern solution was ignored.
منابع مشابه
Analyzing Behavioral Refactoring of Class Models
Software modelers refactor their design models to improve design quality while preserving essential functional properties. Tools that allow modelers to check whether their refactorings preserve specified essential behaviors are needed to support rigorous model evolution. In this paper we describe a rigorous approach to analyzing design model refactorings that involve changes to operation specif...
متن کاملAn Alternative Structure for the Abstract Factory Software Design Pattern
The abstract factory design pattern is a well known and widely applied design in the construction of object-oriented software. An amendment to the abstract factory is presented based on the \envelope/letter" idiom. This results in factory products being instantiated in application code in a manner apparently independent of the factory pattern. Application code can thus forget about the factory,...
متن کاملMORE: A multi-objective refactoring recommendation approach to introducing design patterns and fixing code smells
Refactoring is widely recognized as a crucial technique applied when evolving object-oriented software systems. If applied well, refactoring can improve different aspects of software quality including readability, maintainability and extendibility. However, despite its importance and benefits, recent studies report that automated refactoring tools are underused much of the time by software deve...
متن کاملAssessing the Quality of Refactoring Patterns for Introducing Design Patterns
Refactoring is a well-known process to improve the code design of object-oriented programs. Recently, several literatures focus on refactoring with introducing design patterns that are general repeated solutions to common problems in software design. For making it easy to perform such refactoring, a lot of refactoring patterns are proposed. Each refactoring pattern includes a description of ref...
متن کاملClassification of Scattered Code in Object-Oriented Applications
Aspect-oriented programming strives to encapsulate crosscutting concerns into modular units called aspects. Aspect Mining techniques aim to search for aspect candidates in existing software systems. These techniques associate all occurrences of scattered code in existing applications with the absence of aspects. In this paper, we demonstrate that in a poorly designed object-oriented system, sca...
متن کامل